/**********************************************************
    内核层内存管理文件krlmm.c
***********************************************************/
#include "cosmostypes.h"
#include "cosmosmctrl.h"

void init_krlmm() {
    init_krlpagempol();
    init_kvirmemadrs();
    return;
}

// 内核申请内存
adr_t krlnew(size_t mmsize) 
{
    if (mmsize == MALCSZ_MIN || mmsize > MALCSZ_MAX) {
        return NULL;
    }

    return kmempool_new(mmsize);
}

// 内核内存删除
bool_t krldelete(adr_t fradr, size_t frsz)
{
    if (fradr == NULL || frsz == MALCSZ_MIN || frsz > MALCSZ_MAX) {
        return FALSE;
    }

    return kmempool_delete(fradr, frsz);
}
